package com.hee.erp.modules.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.hee.erp.config.BigDecimalSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 
 * </p>
 *
 * @author weizehong
 * @since 2022-03-06
 */
@Getter
@Setter
@TableName("t_sys_user")
@ApiModel(value = "SysUser对象", description = "")
public class SysUser implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("id")
    private String id;

    private String parentId;

    @TableField(exist = false)
    private String parentName;

    private String companyId;
    private String departId;

    @TableField(exist = false)
    private String companyName;

    @TableField(exist = false)
    private String departName;

    private String idcardNo;

    private String emergencyRelation;
    private Integer education;

    @TableField(exist = false)
    private String educationName;
    @ApiModelProperty("员工编号")
    @TableField("user_no")
    private String userNo;

    @TableField("phone_login_flag")
    private Integer phoneLoginFlag;

    @TableField(exist = false)
    private String phoneLoginFlagName;

    @ApiModelProperty("员工姓名")
    @TableField("user_name")
    private String userName;

    @TableField(exist = false)
    private Integer sexDictValue;

    @ApiModelProperty("性别")
    @TableField("sex")
    private Integer sex;

    @TableField(exist = false)
    private String sexName;

    private Integer political;


    @TableField(exist = false)
    private String politicalName;


    private Integer nation;

    @TableField(exist = false)
    private String nationName;

    @ApiModelProperty("手机号")
    @TableField("user_tel")
    private String userTel;

    @ApiModelProperty("登录密码")
    @TableField("user_pwd")
    private String userPwd;

    @TableField("email")
    private String email;

    @TableField("qq")
    private String qq;

    @TableField("wechat")
    private String wechat;

    @TableField("identification_photo")
    private String identificationPhoto;

    @ApiModelProperty("紧急联系人姓名")
    @TableField("emergency_name")
    private String emergencyName;

    @ApiModelProperty("紧急联系人电话")
    @TableField("emergency_tel")
    private String emergencyTel;

    @ApiModelProperty("岗位名称")
    @TableField("role_name")
    private String roleName;

    @TableField("entry_date")
    private LocalDate entryDate;

    @TableField("stanford_date")
    private LocalDate stanfordDate;

    @TableField("leave_date")
    private LocalDate leaveDate;

    @TableField("contract_expire_date")
    private LocalDate contractExpireDate;

    @TableField("probation_salary")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal probationSalary;

    @TableField("stanford_salary")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal stanfordSalary;

    @TableField("remark")
    private String remark;

    @ApiModelProperty("所属数据库关键字")
    @TableField("db_key")
    private String dbKey;

    @ApiModelProperty("是否禁用：0（否）|1（是）")
    @TableField("disable_flag")
    private Integer disableFlag;

    @TableField(value = "del_flag",fill = FieldFill.INSERT)
    private Boolean delFlag;

    @TableField(value = "create_user",fill = FieldFill.INSERT)
    private String createUser;

    @TableField(value = "create_time",fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @TableField(value = "modify_user",fill = FieldFill.INSERT_UPDATE)
    private String modifyUser;

    @TableField(value = "modify_time",fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime modifyTime;


}
